package com.project.service;

import com.project.entity.qo.TableNumberQo;
import com.project.entity.vo.TableNumberVo;
import com.project.result.ResponseResult;
import com.project.result.ResultCode;

import java.util.List;

/**
 * @author chen
 * @date 2022/3/28
 */
@SuppressWarnings("all")
public interface TableNumberService {
    /**
     * 添加桌号
     * @param tableNumberQo 传入桌号信息
     * @return 返回状态
     */
    ResponseResult<ResultCode> addTableNumber(TableNumberQo tableNumberQo);

    /**
     * 修改该桌号信息
     * @param tableNumberQo 传入桌号信息
     * @return  返回状态
     */
    ResponseResult<ResultCode> updateTableNumber(TableNumberQo tableNumberQo);

    /**
     * 根据桌号修改该桌位使用状态
     * @param tableNum
     * @return
     */
    ResponseResult<ResultCode> updateTableStatus(Integer tableNum,Integer status);

    /**
     * 获取所有桌位信息
     * @return
     */
    ResponseResult<List<TableNumberVo>> getTableNumber();

    /**
     * 根据桌号获取该桌位信息
     * @param tableNum
     * @return
     */
    ResponseResult<TableNumberVo> getTableNumberById(Integer tableNum);

    /**
     * 获取所有空座位桌号
     * @return
     */
    ResponseResult<List<TableNumberVo>> getTableNumberByStatus();

    /**
     * 分页查询
     * @param current
     * @return
     */
    ResponseResult<List<TableNumberVo>> selectTableNumberPage(Integer current);
}